Skip to main content

Custom line item properties

Maker ships with a full suite of product blocks that collect line item properties without any third‑party apps. This guide provides an overview of what's available and how these blocks work together.

Tip: These blocks can be used together on the same product form. Give each property a unique key so they do not overwrite each other in the cart.

Available blocks

Maker includes five custom option blocks for different input types:

Product custom select

Single-choice inputs rendered as dropdowns, enhanced dropdowns, or radio buttons. Perfect for color choices, size options, or any selection where customers pick one option from a list.

Product custom multiselect

Checkbox lists where customers can choose multiple options. Great for add-ons, extras, or features where multiple selections make sense (like "Gift wrapping, Gift card, Premium packaging").

Product custom property

Flexible text inputs including single-line text, textarea with character counters, or simple checkbox acknowledgements. Ideal for personalization like engraving text, special instructions, or agreement checkboxes.

Product file upload

Allow customers to upload files directly with their order. Supports single or multiple files, drag-and-drop or button interfaces, and file type restrictions. Perfect for logo files, artwork, or custom designs.

Product swatch groups

Visual color or material palettes powered by Shopify metaobjects. Display beautiful, tap-friendly swatches with images for options like fabrics, colors, or materials. Supports both single and multiple selection modes.

Shared features

All custom option blocks share the following capabilities:

  • Conditional display: Show or hide a block based on the value of another property using the Conditional logic settings. The block remains hidden and its inputs are disabled until the condition is met.
  • Product tag filter: Limit a block to products with a specific tag using the Only show when product has tag setting.
  • Width controls: Choose full or half width on tablet/desktop for easier layout mixing.
  • Fee support: When paired with the optional Custom Option Fees script, specific selections can add a hidden product to the cart. Each block exposes settings for a fee product handle and shows an inline price preview for customers. Read more in Custom Option Fees.

How to name properties

  • The Line item property key (or Property key) becomes the label in the cart and order details. Use plain text such as Patch Color or Engraving.
  • Shopify automatically namespaces properties as properties[Patch Color] behind the scenes; you only need to provide the key in the block settings.
  • Reuse the same property key across languages by translating the cart label in your locale files if needed.

Getting started

  1. Choose your block type based on the input you need (dropdown, checkboxes, text, file, or visual swatches)
  2. Add the block to your product form in the Theme Editor
  3. Configure the property key and options
  4. Style to match your brand using the available settings
  5. Test thoroughly to ensure properties appear correctly in the cart

Each block type has its own detailed documentation page with configuration steps, examples, and troubleshooting tips. Click any of the block links above to learn more.

Troubleshooting checklist

  • Confirm each property has a unique key before testing. Shopify overwrites duplicate property keys with the last value submitted.
  • When fees are involved, preview the cart to ensure the correct fee product is added. Refer to Custom Option Fees for debugging tips.
  • If a conditional block never appears, double-check the comparison value spelling—it compares lowercase, trimmed text behind the scenes.
  • When using the Hat Lab wizard, keep property keys consistent between the wizard steps and the final product page so data flows cleanly into the cart.